/*!
 * \file GeneratorEnvironment.h
 * \brief Class providing environment for handling generator lifetime
 */

#ifndef _GENERATOR_ENVIRONMENT_H
#define _GENERATOR_ENVIRONMENT_H

#include <list>

namespace tsc
{
namespace common
{

class Generator;

/**
 * GeneratorEnvironment
 */
class GeneratorEnvironment
{
public:

	GeneratorEnvironment();

	virtual ~GeneratorEnvironment();

	void addToRemoveList(Generator* pGen);

	void deleteRemovedGenerators();

protected:

	std::list<Generator*> _removedList;
};

} // namespace common
} // namespace tsc

#endif // _GENERATOR_ENVIRONMENT_H
